package com.penghaisoft.microwms.product.service.impl;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.page.Pager;
import com.penghaisoft.microwms.common.service.BaseService;
import com.penghaisoft.microwms.common.wms.model.ProContractChangePlanSn;
import com.penghaisoft.microwms.common.wms.model.ProContractChangePlanSn;
import com.penghaisoft.microwms.product.dao.ProContractChangePlanSnMapper;
import com.penghaisoft.microwms.product.service.IProContractChangePlanSnService;

/** 
 * @Package com.penghaisoft.microwms.product.service.impl
 * @ClassName: ProContractChangePlanSnServiceImpl
 * @Description: 成品合同变更明细
 * @author luoteng
 * @date 2019年3月7日 下午1:00:53
 */
@Service("proContractChangePlanSnService")
public class ProContractChangePlanSnServiceImpl extends BaseService implements IProContractChangePlanSnService{
		@Resource
		private ProContractChangePlanSnMapper proContractChangePlanSnMapper;
		
	  /**
	   * 新增记录
	   * @param baseResource
	   * @return
	   */
		@Override
		public Resp create(ProContractChangePlanSn proContractChangePlanSn){
			proContractChangePlanSnMapper.create(proContractChangePlanSn);
			return success();
		}

	  /**
	   * 删除记录（逻辑删除）
	   * @param baseResource
	   * @return
	   */
		@Override
		public Resp delete(ProContractChangePlanSn proContractChangePlanSn){
			proContractChangePlanSnMapper.delete(proContractChangePlanSn);
			return success();
		}
		
	  /**
	   * 查询列表
	   * @param pager
	   * @param baseResource
	   * @return
	   */
		@Override
		public Pager<ProContractChangePlanSn> findListByCondition(int page, int rows,ProContractChangePlanSn condition){
		    Pager<ProContractChangePlanSn> pager = new Pager<>();
		    pager.setPage(page);
		    pager.setRows(rows);
    		condition.preQuery();
			List<ProContractChangePlanSn> records = proContractChangePlanSnMapper.queryList(pager,condition);
			long size = proContractChangePlanSnMapper.queryCount(condition);
			pager.setRecords(records);
			pager.setTotalCount(size);
			return pager;
		}

	  /**
	   * 查询单条
	   * @param id
	   * @return
	   */
		@Override
		public ProContractChangePlanSn findById(String id){
			return proContractChangePlanSnMapper.queryById(id);
		}
		
	  /**
	   * 修改记录
	   * @param baseResource
	   * @return
	   */
		@Override
		public Resp update(ProContractChangePlanSn proContractChangePlanSn){
			proContractChangePlanSnMapper.updateBySelect(proContractChangePlanSn);
			return success();
		}
		
		public List<ProContractChangePlanSn> getJYHZ(ProContractChangePlanSn proContractChangePlanSn) {
			return proContractChangePlanSnMapper.queryJYHZ(proContractChangePlanSn);
		}
		
		public Pager<ProContractChangePlanSn> getJYHZInfo(int page, int rows, ProContractChangePlanSn proContractChangePlanSn) {
			Pager<ProContractChangePlanSn> pager = new Pager<>();
		    pager.setPage(page);
		    pager.setRows(rows);
		    
		    long size = proContractChangePlanSnMapper.queryJYHZInfoCount(proContractChangePlanSn);
			List<ProContractChangePlanSn> records = new ArrayList<ProContractChangePlanSn>();
			if (size > 0) {
				records = proContractChangePlanSnMapper.queryJYHZInfoList(pager, proContractChangePlanSn);
			}
			pager.setRecords(records);
			pager.setTotalCount(size);
			return pager;
		}

}
